using System;

namespace TaskPluginInterface
{
    /// <summary>
    /// Used to define the attributes available to a plug-in class.
    /// </summary>
    [AttributeUsage(AttributeTargets.Class)]
    public sealed class PluginAttribute : Attribute
    {
        private readonly PluginType _type;
        /// <summary>
        /// The constructor for the attribute.
        /// </summary>
        /// <param name="T">The <see cref="PluginType" /></param>
        public PluginAttribute(PluginType T) { _type = T; }
        /// <summary>
        /// The <see cref="PluginType"/>.
        /// </summary>
        public PluginType Type { get { return _type; } }
    }
}
